/*global pi */

/**
 * 内存的分配和释放
 */

pi.mod.define('pi.mem', function (pi) {
	"use strict";
	var module = {},
		vcalls = [
			
			/**
			 * 分配size字节的内存并返回句柄
			 * size: int, 要分配的字节数
			 * 返回：int，内存句柄，失败返回0
			 */
			// module.malloc(size)
			["pi_malloc", pi.vcall.TYPE_INT, [pi.vcall.TYPE_INT], "malloc"],
			
			/**
			 * 释放内存句柄
			 * mem: int, 内存句柄
			 */
			// module.free(mem)
			["pi_free", pi.vcall.TYPE_VOID, [pi.vcall.TYPE_INT], "free"]
		];

	// 注册所有 vcall 函数句柄
	pi.vcall.makeVCall("pi_lib.dll", module, vcalls);

	return module;
});